
import axios from "axios";
import _ from "lodash";



// 创建实例时配置默认值
const instance = axios.create({
    baseURL: 'http://localhost:3000/app',
    timeout: 5000,
});

// 创建实例后修改默认值
instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';  //FormData

// 拦截器
// 在请求或响应被 then 或 catch 处理前拦截它们。

// 添加请求拦截器 (在请求发送之前可以执行一系列操作)
instance.interceptors.request.use(function (config) {
    // console.log("请求拦截",config);

   console.log('这里是请求拦截被触发');
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});






// 添加响应拦截器  (在服务器响应之后(响应的结果可能是成功,也可能是失败的),数据被Promise实例存储之前)
instance.interceptors.response.use(function (response) {
    // response => axios初始的响应数据 => {config,headers,data,request,status=200,statusText}

    // 2xx 范围内的状态码都会触发该函数。   (2xx响应成功  -> 后端会给前端返回数据 -> 前端传递不同的数据,对应的结果也有多种可能 -> 登录成功 / 未注册 /密码有误)
   console.log('这里是响应拦截被触发');

    return response;

}, function (error) {


    return Promise.reject(error);
});

export default instance;  //默认暴露